#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMediaPlayer>
#include <QUrl>
#include <QListWidgetItem>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:

    void on_btn_add_clicked();

    void on_btn_play_clicked();

    void on_btn_pause_clicked();

    void on_btn_stop_clicked();

    void on_btn_prev_clicked();

    void on_btn_next_clicked();

    void do_positionChanged(qint64 position);
    void do_durationChanged(qint64 duration);
    void do_sourceChanged(const QUrl &media);
    void do_playbackStateChanged(QMediaPlayer::PlaybackState newState);
    void do_metaDataChanged();
    void on_btn_del_clicked();

    void on_btn_clear_clicked();

    void on_btn_close_clicked();

    void on_btn_mute_clicked();

    void on_doubleSpinBox_valueChanged(double arg1);

    void on_cb_cycle_stateChanged(int arg1);

    void on_slider_volumn_sliderMoved(int position);

    void on_slider_pos_sliderMoved(int position);

    void on_listWidget_doubleClicked(const QModelIndex &index);

private:
    Ui::MainWindow *ui;

    QMediaPlayer *player; //播放器
    QString durationTime; //播放的文件的总长度, mm:ss字符串
    QString positionTime; //当前播放位置， mm:ss字符串


    bool loopPlay ;
private:
    QUrl getUrlFromItem(QListWidgetItem *item);
};
#endif // MAINWINDOW_H
